home *** CD-ROM | disk | FTP | other *** search
/ Space & Astronomy / Space and Astronomy (October 1993).iso / mac / VIEWERS / X11 / XLOADIMG.TAR / gif.h < prev    next >
Text File  |  1991-05-20  |  2KB  |  73 lines

  1. /* gif.h:
  2.  *
  3.  * gifin.h
  4.  * kirk johnson
  5.  * november 1989
  6.  * external interface to gifin.c
  7.  *
  8.  * Copyright 1989 Kirk L. Johnson (see the included file
  9.  * "kljcpyrght.h" for complete copyright information)
  10.  */
  11.  
  12. /*
  13.  * gifin return codes
  14.  */
  15. #define GIFIN_SUCCESS       0   /* success */
  16. #define GIFIN_DONE          1   /* no more images */
  17.  
  18. #define GIFIN_ERR_BAD_SD   -1   /* bad screen descriptor */
  19. #define GIFIN_ERR_BAD_SEP  -2   /* bad image separator */
  20. #define GIFIN_ERR_BAD_SIG  -3   /* bad signature */
  21. #define GIFIN_ERR_EOD      -4   /* unexpected end of raster data */
  22. #define GIFIN_ERR_EOF      -5   /* unexpected end of input stream */
  23. #define GIFIN_ERR_FAO      -6   /* file already open */
  24. #define GIFIN_ERR_IAO      -7   /* image already open */
  25. #define GIFIN_ERR_NFO      -8   /* no file open */
  26. #define GIFIN_ERR_NIO      -9   /* no image open */
  27.  
  28. /*
  29.  * colormap indices 
  30.  */
  31.  
  32. #define GIF_RED  0
  33. #define GIF_GRN  1
  34. #define GIF_BLU  2
  35.  
  36. /*
  37.  * typedef BYTE for convenience
  38.  */
  39.  
  40. typedef unsigned char BYTE;
  41.  
  42. static int gifin_open_file();
  43. static int gifin_open_image();
  44. static int gifin_get_pixel();
  45. #if 0
  46. static int gifin_close_image();
  47. #endif
  48. static int gifin_close_file();
  49. static int gifin_load_cmap();
  50. static int gifin_skip_extension();
  51. static int gifin_read_data_block();
  52. static int gifin_push_string();
  53. static int gifin_add_string();
  54. static int gifin_fatal();
  55.  
  56. /* #defines, typedefs, and such
  57.  */
  58.  
  59. #define GIF_SIG      "GIF87a"
  60. #define GIF_SIG_89   "GIF89a"
  61. #define GIF_SIG_LEN  6          /* GIF signature length */
  62. #define GIF_SD_SIZE  7          /* GIF screen descriptor size */
  63. #define GIF_ID_SIZE  9          /* GIF image descriptor size */
  64.  
  65. #define GIF_SEPARATOR   ','     /* GIF image separator */
  66. #define GIF_EXTENSION   '!'     /* GIF extension block marker */
  67. #define GIF_TERMINATOR  ';'     /* GIF terminator */
  68.  
  69. #define STAB_SIZE  4096         /* string table size */
  70. #define PSTK_SIZE  4096         /* pixel stack size */
  71.  
  72. #define NULL_CODE  -1           /* string table null code */
  73.